package com.lqm.service.home;

import com.lqm.entity.home.HomeUser;
import com.lqm.entity.home.UserAddress;
import org.apache.catalina.User;


import java.util.List;


public interface UserAddressService {
    /**
     * 查找用户的地址
     * @param user 当前用户
     * @return 地址列表
     */
    List<UserAddress> findAll(HomeUser user);

    /**
     * 获取所有用户条数，无条件
     * @return 总条数
     */
    public long getCount();

    /**
     *  更新或添加
     * @param userAddress 用户地址
     * @return 更新或添加成功的用户地址
     */
    public UserAddress save(UserAddress userAddress);

    /**
     * 设置用户地址状态
     * @param userAddress 用户地址实体
     * @param status 1：正常，0禁用，-1：回收，-2:删除
     */
    public void setUserAddressStatus(UserAddress userAddress,int status);

    public UserAddress delUserAddress(UserAddress userAddress);

    /**
     * 设置此地址为该用户默认地址
     * @param userAddress  传入地址
     * @param homeUser 当前用户
     */
    public void setDefaultUserAddress(UserAddress userAddress,HomeUser homeUser);

    /**
     * 通过id 查找地址
     * @param id 传入id
     * @return 返回地址对象
     */
    public UserAddress findAllByAddressId(Integer id);

    /**
     * 更新地址
     * @param userAddress
     * @return
     */
    UserAddress updateAddress(UserAddress userAddress);
}
